"""
编写一个程序，实现以下功能：
1.	让用户输入一行英文句子。
2.	将该句子转换为小写，并分割成单词列表。
3.	将该单词列表转换为集合，以自动去除重复的单词。
4.	再将此集合转换回列表，并按字母顺序排序。
5.	打印处理后的、已排序且无重复的单词列表。
示例：
输入: "hello world hello python world program"
输出: ['hello', 'program', 'python', 'world']

"""
# 用户输入
sentence=str(input("请输入一行英文句子"))
# 转换小写并分割单词列表
processed_sentence=sentence.lower().split(' ')
# 将该单词列表转换为集合，并去除重复的单词
processed_sentence=list(set(processed_sentence))
# 按字母顺序排序
processed_sentence.sort()
# 输出
print(processed_sentence)


"""
编写一个程序，实现以下功能：
1.	创建一个空字典 word_count。
2.	让用户输入一行英文句子。
3.	统计该句子中每个单词出现的次数，并将结果存储在字典 word_count 中（单词作为键，出现次数作为值）。
4.	打印这个词汇统计字典。
示例：
输入: "apple banana orange apple banana"
输出: {'apple': 2, 'banana': 2, 'orange': 1}

"""
# 创建空字典
word_count={}
print(type(word_count))
# 用户输入英文句子
sentence=str(input("请输入一行英文句子"))
processed_sentence=sentence.split(' ')
for word in processed_sentence:
    if word in word_count:
        word_count[word] += 1
    else:
        word_count[word] = 1

print(word_count)


"""
编写一个程序，实现以下功能：
1.	创建一个字典 inventory 表示库存，键为商品名称，值为包含价格和数量的元组，例如：
inventory = {'apple': (2.5, 10), 'banana': (1.8, 15), 'orange': (3.0, 8)}
2.	实现以下功能：
a) 计算每种商品的总价值（价格 × 数量）
b) 找出库存数量最少的商品
c) 根据商品名称按字母顺序排序后，打印商品信息（名称、价格、数量、总价值）
3.	打印所有结果。
示例输出:
各商品总价值: {'apple': 25.0, 'banana': 27.0, 'orange': 24.0}
库存最少的商品: orange
按名称排序的商品信息:
*apple - 价格: 2.5, 数量: 10, 总价值: 25.0*
*banana - 价格: 1.8, 数量: 15, 总价值: 27.0*
*orange - 价格: 3.0, 数量: 8, 总价值: 24.0*

"""
inventory = {'apple': (2.5, 10), 'banana': (1.8, 15), 'orange': (3.0, 8)}
total_price={}
for product,(price,number) in inventory.items():
    total_price[product]=price*number
print(f'总价值：{total_price}')

min_product = min(inventory.items(), key=lambda x: x[1][1])[0]
print("库存最少的商品:", min_product)

print("按名称排序的商品信息:")
for product in sorted(inventory):
    price, quantity = inventory[product]
    total = price * quantity
    print(f"*{product} - 价格: {price}, 数量: {quantity}, 总价值: {total}*")


